#pragma once

#include <memory>

#include "../Network/FastICA.h"

using namespace std;

class CFastICALearn
{
public:
	CFastICALearn() = delete;

	CFastICALearn(shared_ptr<CFastICA> pNN);

public:
	double Remean(Vector2 & X);

	void ZCA_Whitening(Vector2 & X);

	void Trainning(const Vector2 & Input, double EPS);

protected:
	shared_ptr<CFastICA> m_pNN;
};